#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>

#include "vsl.h"

using namespace std;

int main(int argc, char *argv[])
{
    if (argc < 2) cerr << "vsl: error: no input file" << endl;
    std::ifstream file(argv[1], std::ios::in);
    if (!file.is_open()) {
        cerr << "vsl: error: no input file '" << endl;
        return 1;
    }
//    string s;
//    char ch;
//    file >> std::noskipws;
//    while (file >> ch) {
//        cout << "[" << ch << "]" << endl;
//    }
    //cout << noskipws;
//    file >> skipws;
//    while (!file.eof()) {
//        file >> s;
//        cout << s << endl;
//    }
//    std::streambuf *buf = std::cin.rdbuf();
//    std::cin.rdbuf(file.rdbuf());
//    cin >> s;
//    cout << "[" << s << "]" << endl;
//    string str;
//    cout << '\n' << argv[1] << endl;
//    while (std::getline(file, str)) {
//        cout << str.c_str() << endl;
//    }
    //file.rdbuf();
    //streambuf codebuf;
    //codebuf = file.rdbuf();
    //typeid(cin)
//    cout << "Hello World!" << endl;
    VSL *v = new VSL(file.rdbuf());
//    v->dumptoks();
    v->parser();
    return 0;
}

